
#ifndef _RADIX_DIALECT_STREAM_H_
#define _RADIX_DIALECT_STREAM_H_

#include <Archaism/Header.h>

_BeginNamespace(Radix)

class Stream
{
public:
	virtual bool open() = 0;
	virtual void close() = 0;
	virtual bool isOpen() = 0;
	virtual bool readable() = 0;
	virtual bool writable() = 0;
	virtual uint read(void* bytes, uint length) = 0;
	virtual uint write(void* bytes, uint length) = 0;
	virtual bool eos() = 0;
	virtual void flush() = 0;
};

_EndNamespace(Radix)

#endif//_RADIX_DIALECT_STREAM_H_
